package tests;

import common.Utils;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions;

import javax.swing.*;
import java.text.SimpleDateFormat;
import java.util.List;

//发布博客页面
public class EditPage extends Utils {
    public static String url="http://8.137.19.140:9090/blog_edit.html";


    public EditPage()
    {
        super(url);
    }

    /**
     *1.正常发布博客
     */

    public void editSuc()
    {
        //创建的博客标题要随机生成，具备唯一性----方便后面进行精确校验
        SimpleDateFormat sim=new SimpleDateFormat("HHmmssSS");
        String titleTime = sim.format(System.currentTimeMillis());
        String title="自动创建博客"+titleTime;



        //找到标题输入框并输入内容
        driver.findElement(By.cssSelector("##")).sendKeys("AAA标题");

        //找到内容区域并输入内容---会报错
        //driver.findElement(By.cssSelector("##")).sendKeys("zz内容");

        //解决：通过原生的键盘操作来处理该元素--Actions
        WebElement ele=driver.findElement(By.cssSelector("##"));
        Actions action=new Actions(driver);
        action.doubleClick(ele).sendKeys("asms内容").perform();//双击内容区域
        //action.click(ele).sendKeys("asms内容").perform();//原生方法


        //点击发布
        driver.findElement(By.cssSelector("##")).click();

        //校验是否发布成功
        //发布成功之后跳转到列表页,找是否存在刚创建的博客----博客标题
        List<WebElement> blogs=driver.findElements(By.cssSelector("##"));

        String titleAfter=driver.findElement(By.cssSelector("body>...>div:nth-child("+blogs.size()+")>...")).getText();

        //判断发布前后标题相同
        assert titleAfter.equals(title);


    }

    /**
     *2.异常发布
     * -----标题为空
     * -----内容为空
     * -----标题内容为空
     */


}
